iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
1
自我挑戰組

一日一CPE系列 第 14

[Day14]993: Product of Digits

  • 分享至 

  • xImage
  •  

考題日期:2017/03/28
題號:993
星等:2
語言:C++


題目:
https://ithelp.ithome.com.tw/upload/images/20190929/20120937OKsaMxmEmI.png


題意:
給一個大於等於 0 的整數 N,請你找到最小的自然數 Q ,使得在 Q 中所有數字(digit)的乘積等於 N 。


程式:

#include <iostream>

using namespace std;

int main()
{
    int test;
    long long num;
    cin>>test;
    while(test--)
    {
        cin>>num;
        int arr[10000],n = 0;
        if(num == 1)
        {
            cout<<"1";
        }
        else
        {
            for(int i = 9 ; i > 1 ; i--)
            {
                while(num%i == 0 && num >= i)
                {
                    num /= i;
                    arr[n++] = i;
                }
            }
            if(num == 1)
            {
                for(int i = n-1 ;i >= 0 ; i--)
                {
                    cout<<arr[i];
                }
            }
            else
                cout<<"-1";
        }
        cout<<endl;
    }
    return 0;
}


測資:
測資第一行為測資數量,接下來Input、Output各一行。
https://ithelp.ithome.com.tw/upload/images/20190929/20120937Ku7iHJnA06.png


上一篇
[Day13]11401: Triangle Counting
下一篇
[Day15]13190: Rockabye Tobby
系列文
一日一CPE30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言